home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 2 / AACD 2.iso / AACD / Magazine / GraphicsCards / StormMesa / include / GL / mglmesa.h < prev    next >
C/C++ Source or Header  |  1998-12-15  |  3KB  |  82 lines

  1. /****************************************************************************
  2. *
  3. *                      Mesa bindings for SciTech MGL
  4. *
  5. *                   Copyright (C) 1996 SciTech Software.
  6. *                           All rights reserved.
  7. *
  8. * Filename:     $Workfile:   mglmesa.h  $
  9. * Version:      $Revision: 1.1 $
  10. *
  11. * Language:     ANSI C
  12. * Environment:  Any
  13. *
  14. * Description:  Header file for the Mesa/OpenGL interface bindings for the
  15. *               SciTech MGL graphics library. Uses the MGL internal
  16. *               device context structures to get direct access to the
  17. *               high performance MGL rasterization functions for maximum
  18. *               performance. Utilizes the VESA VBE/AF Accelerator Functions
  19. *               via the MGL's accelerated device driver functions, as well
  20. *               as basic DirectDraw accelerated functions provided by the
  21. *               MGL.
  22. *
  23. * This library is free software; you can redistribute it and/or
  24. * modify it under the terms of the GNU Library General Public
  25. * License as published by the Free Software Foundation; either
  26. * version 2 of the License, or (at your option) any later version.
  27. *
  28. * This library is distributed in the hope that it will be useful,
  29. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  30. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  31. * Library General Public License for more details.
  32. *
  33. * You should have received a copy of the GNU Library General Public
  34. * License along with this library; if not, write to the Free
  35. * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  36. *
  37. * $Date: 1998/02/20 05:07:48 $ $Author: brianp $
  38. *
  39. ****************************************************************************/
  40.  
  41. #ifndef __MGLMESA_H
  42. #define __MGLMESA_H
  43.  
  44. #include "mgraph.h"
  45.  
  46. /*------------------------- Function Prototypes ---------------------------*/
  47.  
  48. #ifdef  __cplusplus
  49. extern "C" {            /* Use "C" linkage when in C++ mode */
  50. #endif
  51.  
  52. #ifndef __WINDOWS__
  53. #define APIENTRY
  54. #endif
  55.  
  56. #ifdef  __WINDOWS__
  57. bool    APIENTRY MGLMesaInitDLL(MGLCallbacks *cb,char *version);
  58. #endif
  59. void    APIENTRY MGLMesaChooseVisual(MGLDC *dc,MGLVisual *visual);
  60. bool    APIENTRY MGLMesaSetVisual(MGLDC *dc,MGLVisual *visual);
  61. bool    APIENTRY MGLMesaCreateContext(MGLDC *dc,bool forceMemDC);
  62. void    APIENTRY MGLMesaDestroyContext(MGLDC *dc);
  63. void    APIENTRY MGLMesaMakeCurrent(MGLDC *dc);
  64. void    APIENTRY MGLMesaSwapBuffers(MGLDC *dc,bool waitVRT);
  65.  
  66. /* Palette manipulation support. The reason we provide palette manipulation
  67.  * routines is so that when rendering in double buffered modes with a
  68.  * software backbuffer, the palette for the backbuffer is kept consistent
  69.  * with the hardware front buffer.
  70.  */
  71.  
  72. void    APIENTRY MGLMesaSetPaletteEntry(MGLDC *dc,int entry,uchar red,uchar green,uchar blue);
  73. void    APIENTRY MGLMesaSetPalette(MGLDC *dc,palette_t *pal,int numColors,int startIndex);
  74. void    APIENTRY MGLMesaRealizePalette(MGLDC *dc,int numColors,int startIndex,int waitVRT);
  75.  
  76. #ifdef  __cplusplus
  77. }                       /* End of "C" linkage for C++   */
  78. #endif  /* __cplusplus */
  79.  
  80. #endif  /* __MGLMESA_H */
  81.  
  82.